export interface StateValues {
  viewState: string;
  viewEvent: string;
}

export interface FlightsByAirplane {
  regNo: string;
  model: string;
  segments: FlightSegment[];
}

export interface FlightSegment {
  flightNo: string;
  depAirport: string;
  arrAirport: string;
  flightTime: FlightTime;
}

export interface FlightTime {
  skdDepTime: Date | null;
  estDepTime: Date | null;
  actDepTime: Date | null;
  skdArrTime: Date | null;
  estArrTime: Date | null;
  actArrTime: Date | null;
}

export interface FlightInfo {
  flightDate: string; // 航班日期
  regNo: string; // 注册号
  model: string; // 类型
  flightNo: string; // 航班号
  depAirport: string; // 出发机场
  skdDepTime: Date | null; // 计划出港时间
  estDepTime: Date | null; // 预计出港时间
  actDepTime: Date | null; // 实际出港时间
  arrAirport: string; // 到达机场
  skdArrTime: Date | null; // 计划进港时间
  estArrTime: Date | null; // 预计进港时间
  actArrTime: Date | null; // 实际进港时间
}

// 航班量
export interface TotalFlights {
  date: string;
  total: number;
  pvgDep: number;
  pvgArr: number;
}

export interface FlightsAggregateResult {
  _sum: {
    total: number;
    pvgDep: number;
    pvgArr: number;
  };
}

// 定义每月航班聚合结果的类型
export interface MonthlyFlights {
  month: string; // 月份，例如 "01"、"02" 等
  total: number; // 总航班量
  pvgDep: number; // 从 PVG 出发的航班量
  pvgArr: number; // 到达 PVG 的航班量
}

// 定义基地站航班计划类型
export interface BaseFlightInfo {
  regNo: string; // 注册号
  type: string; // 工作类型(航后/航前，停场，短停)
  flightDate: Date;
  preFlightNo: string; // 前序航班号
  depAirport: string; // 出发机场
  arrTime: Date | null; // 到达时间
  depTime: Date | null; // 出发时间
  nextFlightNo: string; // 后序航班号
  arrAirport: string; // 到达机场
  status: string; // 状态
}